home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d12 / tchk21.arc / INCLUDE.ARC / MATHHK.H < prev    next >
C/C++ Source or Header  |  1989-06-20  |  2KB  |  46 lines

  1. /* TCHK 2.1 - Howard Kapustein's Turbo C library        6-6-89      */
  2. /* Copyright (C) 1988,1989 Howard Kapustein.  All rights reserved.  */
  3.  
  4. /* mathhk.h  -  header file for MATHHK.C - math functions */
  5.  
  6. #ifndef MATHHK_HEADER
  7. #define MATHHK_HEADER   1
  8.  
  9. #define SQRT2   1.41421356237309504880
  10. #define PI  3.141592653589793238462643
  11. #define E   2.7182818284590452353602874
  12.  
  13. #define sqr(x)      ((x) * (x))
  14. #define isgn(x)     ((x) < 0 ? -1 : 1)
  15. #define lsgn(x)     ((x) < 0l ? -1 : 1)
  16. #define fsgn(x)     ((x) < 0.0 ? -1 : 1)
  17. #define sgn(x)      isgn(x)
  18. #define sign(x)     isgn(x)
  19. #define lsign(x)    lsgn(x)
  20. #define fsign(x)    fsgn(x)
  21. #define swap(x,y)   (x ^= y, y^= x, x^=y)
  22. #define mid(a,x,b)  ((((a) <= (x)) && ((x) <= (b))) ? 1 : 0)
  23. #define nmid(a,x,b) ((((x) < (a)) || ((b) < (x))) ? 1 : 0)
  24. #define iseven(x)   (((x) % 2 == 0) ? TRUE : FALSE)
  25. #define isodd(x)    (!iseven(x))
  26.  
  27. #define MAXFLOAT           3.4E+38
  28. #define MAXDOUBLE          1.7E+308
  29. #define MAXLONG            2147483647   /* 2,147,483,647 */
  30. #define MAXLONG_UNSIGNED   4294967295   /* 4,294,967,295 */
  31.  
  32.  
  33. /* function prototypes */
  34. double round(double x, int n);         /* round x to n decimal places */
  35. double frac(double x);                 /* return fractional portion of real */
  36. double factorial(int n);               /* n! */
  37. int summation(int max);                /* Σ: 1+2+...+max */
  38. double average(int n, double element[]);    /* average (mean) */
  39. double variance(int n, double element[]);   /* variance */
  40. double stddev(int n, double element[]);     /* standard deviation */
  41. unsigned char bitrevb(unsigned char value); /* bit reverse - byte */
  42. unsigned int bitrevw(unsigned value);       /* bit reverse - word */
  43. unsigned long bitrevl(unsigned long value); /* bit reverse - long */
  44.  
  45. #endif              /* MATHHK_HEADER */
  46.